public class zuiDaNWeiShu {
    /**
     * 输入数字 n，按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3，则打印出 1、2、3 一直到最大的 3 位数 999。
     * 1. 用返回一个整数列表来代替打印
     * 2. n 为正整数，0 < n <= 5
     * 示例1
     * 输入：1
     * 返回值：[1,2,3,4,5,6,7,8,9]
     */
    public int[] printNumbers (int n) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < n; i++) {
            sb.append(n);
        }
        int ub = Integer.parseInt(sb.toString());//上界
        int[] res = new int[ub];
        for (int i = 1; i <= ub; i++) {
            res[i-1] = i;
        }
        return res;
    }
    public int[] printNumbers2 (int n) {
        //找到该n+1位数的最小数字
        int end = 1;
        for(int i = 1; i <= n; i++)
            end *= 10;
        //从1遍历到n+1位数的最小数字输出
        int[] res = new int[end - 1];
        for(int i = 1; i < end; i++)
            res[i - 1] = i;
        return res;
    }
}
